﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace YasharEl.Infrastructure.ServiceBus.Unicast.Transport.Mutator
{
    /// <summary>
    /// Mutates transport messages before they are sent.
    /// Implementors are invoked after the logical messages have been serialized.
    /// </summary>
    public interface IMutateOutgoingTransportMessages
    {
        /// <summary>
        /// Modifies various properties of the transport message.
        /// </summary>
        /// <param name="messages"></param>
        /// <param name="transportMessage"></param>
        void MutateOutgoing(object[] messages, TransportMessage transportMessage);
    }
}
